home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource5 / 305_01 / mandel.doc < prev    next >
Text File  |  1990-02-14  |  76KB  |  1,537 lines

  1. DOCUMENTATION FOR EMANDEL, EJULIA, and EMDISPLAY
  2.  
  3. These are powerful programs with many features. Please read this documentation 
  4. and then print out a copy of the file CMDS.TXT for reference before attempting 
  5. to use them. The file SAMPLE.DOC is intended to guide you step-by-step through 
  6. your first use.
  7.  
  8. In what follows, UNLESS OTHERWISE NOTED everything said about Emandel applies 
  9. also to Ejulia.
  10.  
  11. COPYRIGHT NOTICE
  12.  
  13. These program (Emandel, Ejulia, and Emdisplay) are copyrighted by Dan 
  14. Schechter, Route 1 Box 19, Amenia, North Dakota 58004. You may not 
  15. sell them.
  16.  
  17. However, you are encouraged to make copies of them and pass them on to 
  18. friends. Please keep the set intact. The programs Emandel, Ejulia, and 
  19. Emdisplay, along with this documentation file MANDEL.DOC, the file SAMPLE.DOC, 
  20. the command summary CMDS.TXT, and the batch file WHOLE.BAT should all be 
  21. passed along together. 
  22.  
  23. SHAREWARE NOTICE
  24.  
  25. Shareware means that you can legally obtain a copy of a program at little or 
  26. no cost and try it for as long as you like before deciding whether it is worth 
  27. paying for.
  28.  
  29. If you find these programs enjoyable, please send $20 to:
  30.  
  31. Dan Schechter
  32. Route 1 Box 19
  33. Amenia, North Dakota 58004
  34. U.S.A.
  35.  
  36. --------------------------------------------------------------------
  37.  
  38. HARDWARE REQUIREMENTS
  39.  
  40. COMPUTER: IBM PC or compatible. Running MS-DOS 2.0 or later.
  41.  
  42. MEMORY: Emandel will use all available memory. 640K is required for full-size 
  43. frames. 512K should do quite well. 384K will allow you to use all the 
  44. program's features, but only on reduced-size frames.
  45.  
  46. GRAPHICS: Hercules monochrome graphics adapter (or compatible) is required.
  47.  
  48. DISK DRIVE: Hard disk. Emandel can produce data files as large as 414K. 
  49. Therefore it WILL NOT RUN on a system limited to 360K floppy drives. It will 
  50. run on a 1.2 Mb drive, or a 720K 3 1/2 inch drive but the reading and writing 
  51. of disk files will be SO EXTREMELY SLOW that I absolutely DO NOT RECOMMEND 
  52. running Emandel without a hard disk.
  53.  
  54. If you have a numeric coprocessor chip Emandel will use it. Otherwise Emandel 
  55. will use software math, which is slower. 
  56. --------------------------------------------------------------------
  57.  
  58. I have never tested Emandel with any memory-resident programs. It probably 
  59. will not work with them because of the graphics. And besides, they take up 
  60. valuable memory.
  61.  
  62. --------------------------------------------------------------------
  63.  
  64. BACKGROUND: COMPLEX NUMBERS AND THE MANDELBROT SET
  65.  
  66. An imaginary number is an abstract mathematical concept: a number that, when 
  67. multiplied by itself, gives a negative value. Real numbers, by contrast, 
  68. always give positive values when squared. An imaginary number is denoted in 
  69. mathematics by the lower case letter "i". Thus 5i is the imaginary number that 
  70. when multiplied by itself gives -25. Imaginary numbers exist only in the minds 
  71. of mathematicians.
  72.  
  73. A complex number is a number that has both a real component and an imaginary 
  74. component. It is denoted by the addition or subtraction of a real number and 
  75. an imaginary number. For example 17+5i is a complex number. Both the real and 
  76. imaginary components of a complex number may have fractional parts.
  77.  
  78. The complex number plane is a flat surface on which every point corresponds to 
  79. a complex number. The "origin" is the point corresponding to 0+0i. A straight 
  80. line through the origin represents the real axis. Another straight line 
  81. through the origin and perpendicular to the first represents the imaginary 
  82. axis. By convention, positive real numbers are to the right of the origin, 
  83. negative real numbers are to the left of the origin, positive imaginary 
  84. numbers are above the origin, and negative imaginary numbers are below the 
  85. origin.
  86.  
  87. To find a complex number on the plane, start at the origin and go right or 
  88. left along the real axis the amount of the real component (depending on 
  89. whether the real component is positive or negative). Then go up or down, 
  90. parallel to the imaginary axis, by the amount of the imaginary component 
  91. (depending on whether the imaginary component is positive or negative).
  92.  
  93. To find the magnitude of a complex number, measure the distance from it to the 
  94. origin. 
  95.  
  96. To add two complex numbers, add their real components to find the real 
  97. component of the sum, and add the imaginary components to find the imaginary 
  98. component of the sum.
  99.  
  100. To multiply two complex numbers, use the following formula:
  101. (A+Bi)*(C+Di) = (A*C)-(B*D) + ((B*C)+(A*D))i
  102. This is the binomial expansion.
  103.  
  104. Now consider a mathematical procedure, as follows:
  105.  
  106. Take a complex number. Let's call it P for convenience. Multiply P by itself, 
  107. and then add P to the result. Multiply that result by itself and then add P to 
  108. the new result. Again, multiply the new result by itself and then add P. Do 
  109. this over and over again. 
  110.  
  111. Each time you do one multiplication and one addition you have done one 
  112. iteration. (Iteration means doing the same thing over and over again.) Keep 
  113. track of the iteration count.
  114.  
  115. A remarkable thing happens as you continue iterating. Either the magnitude of 
  116. your complex number grows ever larger and larger, or else it remains ALWAYS 
  117. BELOW 2. Either it "approaches infinity" (as mathematicians express it) or 
  118. else it never exceeds 2.
  119.  
  120. The fact just noted was discovered by Benoit Mandelbrot. Therefore the 
  121. Mandelbrot set is the collection of those complex numbers that remain below 
  122. two under the above iterative process.
  123.  
  124. In order to find all these numbers we must perform the above iterative process 
  125. on every point P within a given area of the complex number plane. (In fact, we 
  126. are forced to compromise by selecting a finite number of points, spaced at 
  127. even intervals, over some part of the plane. Emandel uses at most 338,688 
  128. points.) And we must keep track of the iteration count for each point.
  129.  
  130. What makes the Mandelbrot set so fascinating is that being a "fractal" it 
  131. remains infinitely complex regardless of how much you magnify it. It can 
  132. provide you with an unlimited variety of amazing patterns.
  133.  
  134. For further reading, see Scientific American magazine, August 1985, the 
  135. Computer Recreations column by A.K. Dewdney. And for yet further reading, see 
  136. THE FRACTAL GEOMETRY OF NATURE by Benoit Mandelbrot.
  137.  
  138. The Julia sets (plural, since there are an infinite number of them) are 
  139. related to the Mandelbrot set in that any point in or near the Mandelbrot set 
  140. can serve as a "Julia point" for a distinct Julia set. Select a point and call 
  141. it J. Then for every point P on the plane do the following:
  142.  
  143. Square P and add J. Square the result and add J. Square the new result and add 
  144. J again. And so on. As before, either the magnitude will approach infinity, or 
  145. it will remain always below 2. Keep track of the iteration count of each 
  146. point. Each Julia set will somewhat resemble the place in the Mandelbrot set 
  147. from which you took point J.
  148.  
  149. -------------------------------------------
  150.  
  151. EMANDEL
  152.  
  153. Now we return to these programs: First we must select an arbitrary cut-off 
  154. limit of iteration. 255 is a convenient number because it is the largest 
  155. number that can be represented in one "byte" of computer memory. It also 
  156. happens to work well when you begin exploring the Mandelbrot set. (As you go 
  157. deeper into the set you will sometimes want to use higher cut-off limits.) In 
  158. Emandel, the iteration cut-off is called "maxit", which is short for maximum 
  159. iteration.
  160.  
  161. When you run Emandel, it takes a portion of the complex number plane, and 
  162. performs the iterative process I described above for each pixel (picture 
  163. element) on the screen. If the magnitude of the point goes above 2, the 
  164. program remembers how many iterations were performed for that pixel. If the 
  165. magnitude is still below 2 after the number of iterations has reached maxit, 
  166. the program goes on to the next pixel. 
  167.  
  168. Thus, when it is finished, every pixel has been assigned a value, from 1 to 
  169. maxit. Pixels with a value of maxit are considered to be within the Mandelbrot 
  170. set. Pixels with lower values are considered to be outside the set. During the 
  171. calculation phase of the program, pixels inside the set are illuminated, and 
  172. pixels outside the set are dark.
  173.  
  174. Calculation can take anywhere from a few minutes to many days, depending on 
  175. how large a portion of the screen you use, what part of the complex number 
  176. plane you are in, the value you have assigned to maxit, and the speed of your 
  177. computer.
  178.  
  179. Now the fun begins. Every pixel has a value, and you and the computer must 
  180. decide which pixels to illuminate. If you merely illuminate pixels whose 
  181. values equal maxit, the pictures will be rather dull and flat looking. But 
  182. Emandel allows you to specify many different ranges of values for 
  183. illumination. For example, you might illuminate all pixels with odd-numbered 
  184. values. Or you might illuminate pixels with values from 10 to 17 and from 25 
  185. to 100 and from 124 to 125. In Emandel, a range of iteration values is called 
  186. a cluster.
  187.  
  188. Each time you specify a cluster of values to be illuminated, Emandel re-draws 
  189. the screen to show you the new pattern. Marvelous figures seem to appear out 
  190. of nothing. You can change the values for a cluster, clear a cluster, or move 
  191. on to another cluster. Emandel is intelligent enough to allow you to specify a 
  192. group of clusters to be filled in in a regular way. (More on this later, in 
  193. the section on Auto-draw.)
  194.  
  195. When you have a picture you like, you can save it to a disk file. The program 
  196. Emdisplay allows you to view it as well as print it out on an Epson-compatible 
  197. dot-matrix printer.
  198.  
  199. Because the calculation phase takes so long, Emandel allows you to break off 
  200. calculation, store the data in a disk file, and exit from the program. Then 
  201. you can resume later where you left off. I run Emandel at night while I sleep. 
  202.  
  203. Also, because calculation takes so long, "screen burn" would be a problem. 
  204. Therefore Emandel allows you to blank the screen. And because the program is 
  205. likely to run unattended for long periods, and you do not want the cat to 
  206. inadvertently bollix it up when he walks across the keyboard, Emandel will not 
  207. respond to most keyboard commands when the screen is blanked.
  208.  
  209. --------------------------------------------------------------------
  210.  
  211. Emandel is run from the MS-DOS command line. This means you give it all its 
  212. starting parameters when you tell DOS to run the program, rather than 
  213. answering menu questions after the program starts. The following line will 
  214. start the program and produce an over-view of the entire Mandelbrot set:
  215.  
  216. EMANDEL  -2.5  1.25  -1.25  /M100 /NWHOLE
  217.  
  218. This line is contained in the batch file WHOLE.BAT. Thus you could just type:
  219.  
  220. WHOLE
  221.  
  222. to run the program for the first time.
  223.  
  224. After that you never need to worry about the command line arguments because 
  225. Emandel allows you to mark a portion of one picture to be enlarged for the 
  226. next, and it will create a batch file to run itself. 
  227.  
  228. --------------------------------------------------------------------
  229. Emandel has three operation modes:
  230.  
  231. Main mode.
  232. Threshview mode.
  233. Grid Mode.
  234.  
  235. Main mode is entered when you start the program. Main mode performs the 
  236. arithmetic calculations and allows you to query the program concerning its 
  237. parameters.
  238.  
  239. Threshview mode is where you create and save patterns out of the program's raw 
  240. data. You enter threshview mode from main mode. You can create partial 
  241. patterns from a partial base of data, before the calculation is done, in order 
  242. to get some idea of what you are getting. You can make as many pictures as you 
  243. like from one frame. Each will have a different name, selected by the program. 
  244. Your only limit is your available disk space. Exiting from Threshview mode 
  245. will return you to main mode.
  246.  
  247. Grid mode is where you mark a portion of the picture to be enlarged by the 
  248. next run of the program. You position a box around the area you want enlarged, 
  249. and Emandel produces the batch file to invoke itself. You can make as many 
  250. batch files as you like in this way. Each will have a different name, selected 
  251. by the program. You can enter grid mode directly from main mode or from 
  252. threshview. Thus you can use threshview to make a pattern, and then use Grid 
  253. to select a portion of that pattern for enlargement. Grid mode also gives you 
  254. the coordinates and the value of any pixel on the screen. Exiting from Grid 
  255. mode returns you to the mode you entered Grid mode from.
  256.  
  257. --------------------------------------------------------------------
  258.  
  259. HOW TO EXIT FROM THE PROGRAM
  260.  
  261. If the screen is blanked, press control-S.
  262.  
  263. Press ESC several times. This will take you, one level at a time, from 
  264. whatever part of the program you may be in, back to Main mode.
  265.  
  266. Now press control-C to exit from the program.
  267.  
  268. If you have not saved the data, the program will ask you "file not saved. 
  269. Exit?". Press N to remain in the program. Press Y to exit from the program. 
  270.  
  271. THIS IS THE ONLY WAY TO EXIT FROM THE PROGRAM OTHER THAN A COLD BOOT. SO KEEP 
  272. THESE INSTRUCTIONS HANDY UNTIL YOU ARE FAMILIAR WITH THEM.
  273.  
  274. --------------------------------------------------------------------
  275.  
  276. GENERAL OPERATING INSTRUCTIONS
  277.  
  278. STARTING EMANDEL FROM THE COMMAND LINE 
  279.  
  280. Items enclosed in angle brackets < > are named parameters. Enter them without 
  281. the brackets. Items enclosed in square brackets are optional. Enter them 
  282. without the brackets, or leave them out entirely.
  283.  
  284. EMANDEL <lr> <ti> <bi> [/M<maxit>] [/A<asp>] [/S<size>] [/X] [/B<beep>] 
  285. [/N<name>]
  286.  
  287. EJULIA <lr> <ti> <bi> <rj> <ij> [/M<maxit>] [/A<asp>] [/S<size>] [\X] 
  288. [/B<beep>] [/N<name>]
  289.  
  290. EMANDEL  <filename>
  291.  
  292. EJULIA  <filename>
  293.  
  294. In the first and second examples above, Emandel and Ejulia are started for a 
  295. new frame. In the third and fourth examples above, Emandel and Ejulia are 
  296. started with an already-existing data file, which may be from an interrupted 
  297. session, or may be a completed data file that you wish to use for Threshview 
  298. or Grid.
  299.  
  300. REQUIRED PARAMETERS
  301.  
  302. <lr> is a floating point number, the real coordinate of the left edge of the 
  303. frame.
  304.  
  305. <ti> is a floating point number, the imaginary coordinate of the top of the 
  306. frame.
  307.  
  308. <bi> is a floating point number, the imaginary coordinate of the bottom of the 
  309. frame.
  310.  
  311. <rj> (EJULIA only) is a floating point number, the real coordinate of the 
  312. Julia point.
  313.  
  314. <ij> (EJULIA only) is a floating point number, the imaginary coordinate of the 
  315. julia point.
  316.  
  317. Floating point numbers may be decimal fractions such as 1.2345 or 0.1234. They 
  318. may be positive or negative. Or they be entered in "scientific" notation. Such 
  319. as -.9876e-3 which means negative .9876 divided by ten to the 3rd power. Note 
  320. that there may not be any spaces within the number. For practical purposes, ti 
  321. and bi should be between 1.5 and -1.5, ti should be greater than bi, lr should 
  322. be between -2.5 and 1.0, and the Julia point should be near the edge of the 
  323. Mandelbrot set. Many starting parameters will result in empty frames, which is 
  324. why it is best to begin with the whole set and use Grid mode to enlarge 
  325. successively smaller areas.
  326.  
  327. <filename> (In the third and fourth examples above) is the name of a data file 
  328. with the file type extension PIK. If you give a file name without a file type 
  329. extension, or with a different file type extension, the file type extension 
  330. PIK will be used regardless.
  331.  
  332. COMMAND LINE OPTIONS
  333.  
  334. <maxit> (see below) is an integer from 1 to 1023. For practical purposes you 
  335. will probably never set maxit lower than about 50. Default is 255.
  336.  
  337. <asp> (see below) is a positive floating point number. Default is .75 and 
  338. typical values might range from 0.1 to 10.0
  339.  
  340. <size> (see below) is a positive decimal fraction, less than or equal to 1. 
  341. Default is 1.
  342.  
  343. <name> (see below) is the name you wish the data file to have.
  344.  
  345. ASP. Aspect ratio. The vertical-to-horizontal ratio of the screen is .75. This 
  346. is the default aspect ratio. Sometimes you may want to make a tall narrow 
  347. picture, or a wide squat picture. You can do this by changing the aspect 
  348. ratio. On the command line put a forward slash, followed by the letter A 
  349. followed by a number. (No spaces.) For example /A1 will produce a square 
  350. picture.
  351.  
  352. SIZE. Size is the fraction of total screen area actually used. 1 is the full 
  353. screen. .5 is half the screen area. You will sometimes want to use a small 
  354. part of the screen to make a frame in a hurry. Or if your computer has less 
  355. than 640 K of memory you may have to use less than the full screen because of 
  356. the memory-intensive nature of the program. /S.1 will get you one-tenth the 
  357. screen area.
  358.  
  359. INTERACTION BETWEEN SIZE AND ASPECT. Aspect ratio takes precedence. If you 
  360. select an aspect ratio of 1 (for a square picture) then it is impossible for 
  361. size to be 1. The screen is not square, so a square picture cannot fill it. If 
  362. you select 1 for the aspect ratio and 1 for the size, the program will adjust 
  363. size downward as necessary. On the other hand, if you select aspect ratio = 1 
  364. and size = .5 your picture will be a square and will have an area equal to 
  365. half the total screen area, because a square of that size can fit into the 
  366. screen.
  367.  
  368. If you select a size and aspect ratio that requires more memory than your 
  369. system has, the program will cut as much as necessary from the right-hand side 
  370. of the frame. It will then inform you of the new size and aspect and ask if 
  371. you want to proceed or abort. You may answer P to go ahead with the program's 
  372. new values, or you may answer A and then start over with different values. You 
  373. will not be able to get a larger picture area in this way, because that would 
  374. require more computer memory. But you may be able to get a more satisfactory 
  375. picture shape by specifying a smaller value of size.
  376.  
  377. MAXIT. You can specify the maximum iteration cut-off value. On the command 
  378. line, put a forward slash, followed by the letter M, followed by a number from 
  379. 1 to 1023. Values much below 100 will not produce satisfactory results in most 
  380. cases. /M300 will get you maxit = 300.
  381.  
  382. A NOTE ON MAXIT AND MEMORY USAGE. Because 255 is the largest value that can 
  383. fit in an 8-bit "byte", Emandel has to operate slightly differently when maxit 
  384. is set higher than 255. It will require almost 25% more memory, and will cause 
  385. a *slight* slow-down in program operation. Thus, if you have limited memory 
  386. (especially on 384K systems) you will not be able to make as large a picture 
  387. if maxit is greater than 255 as you will be able to make if maxit is less than 
  388. or equal to 255.
  389.  
  390. FILENAME. Emandel will let you choose a file name for the data file, or it 
  391. will pick one itself. The file type extension is always PIK. You cannot change 
  392. that. If it picks a name itself, it will consist of the letters "EM" (or "EJ" 
  393. for Ejulia) followed by a number, and then the extension "PIK". The number 
  394. will be selected so that it does not conflict with any file already on the 
  395. current logged directory. If you wish to specify the name yourself, on the 
  396. command line put a forward slash, followed by the letter N, followed by the 
  397. name (no spaces). Thus /NMYPIC would result in the file name MYPIC.PIK. If you 
  398. specify the file name in this way, Emandel will overwrite any existing file of 
  399. the same name.
  400.  
  401. All of these options can be selected and specified from within the Grid mode 
  402. of Emandel, as it makes a batch file automatically. Aspect is determined by 
  403. the shape of the box you create, and the others you can tell the program in 
  404. response to the questions it will ask you. Generally, pressing ENTER (or 
  405. RETURN) at a prompt causes the program to leave that parameter unchanged. (In 
  406. the case of file name, it tells the program to pick a non-conflicting file 
  407. name at run time, and in the case of size it sets size equal to 1.)
  408.  
  409. /X is the auto-exit switch. (This also may be toggled from within the 
  410. program.) Auto-exit tells the program to save data and exit immediately upon 
  411. completion of calculation. If Emandel is entered with auto-exit enabled, the 
  412. screen will automatically be blanked, just as though you had used the ^S 
  413. command. This makes it possible to run Emandel from within your own batch 
  414. file. Auto-exit will blank the screen on entry (to avoid screen burn) and will 
  415. exit on completion so that your batch file regains control. Note that if there 
  416. is insufficient memory on entry to the program and auto-exit is enabled, the 
  417. program will exit immediately. This is to prevent a hang-up on unattended 
  418. operation. The frame will not be automatically sized down without your 
  419. approval.
  420.  
  421. <beep> is the beeper alarm setting, which may be from 1 to 9. You can also set 
  422. or change this from within the program. This is the number of times the 
  423. console will beep on completion of calculation. Default is zero.
  424. --------------------------------------------------------------------
  425.  
  426. NOW YOU KNOW THE REASON FOR EMANDEL, AND HOW TO START IT, AND HOW TO EXIT FROM 
  427. IT. NOW FOR A DISCUSSION OF ITS RUN-TIME FEATURES:
  428.  
  429. --------------------------------------------------------------------
  430. Any time a letter is preceded by a carat (^) it means that you hold down the 
  431. CONTROL key while you tap the letter.
  432.  
  433. <CR> stands for "carriage return." It means the ENTER or RETURN key.
  434.  
  435. ESC stands for the ESCAPE key.
  436.  
  437. <BS> stands for the BACKSPACE key. Note that this is not the same as the left 
  438. arrow key.
  439.  
  440. <Home> 7 on the number pad.
  441. <PgUp> 9 on the number pad.
  442. <End>  1 on the number pad.
  443. <PgDn> 3 on the number pad.
  444.  
  445. <UA>  8 on the number pad.
  446. <LA>  4 on the number pad.
  447. <DA>  2 on the number pad.
  448. <RA>  6 on the number pad.
  449.  
  450. EMANDEL DOES NOT REALLY USE THE ARROW KEYS: Rather, it uses the number pad 
  451. keys which (on standard IBM keyboards) have arrows on them. Emandel sets the 
  452. NumLock automatically upon entry to Grid mode. 
  453.  
  454. This means that IF YOU HAVE AN "ENHANCED" KEYBOARD with separate arrow keys, 
  455. YOU MUST USE THE NUMBER KEYS, NOT THE SEPARATE ARROW KEYS. The reason for this 
  456. is there are only 4 arrow keys, but Emandel (in Grid mode) needs 9 directional 
  457. keys: 8 directions plus a stop key (5).
  458. --------------------------------------------------------------------
  459.  
  460. MAIN COMMANDS
  461.  
  462. ^S  Blank or restore the screen. To prevent screen-burn, and to reduce the 
  463. likelihood of an unattended run being inadvertently interrupted, you can blank 
  464. the screen with this command. No other command will affect the program while 
  465. the screen is blanked. Pressing ^S a second time will restore the screen and 
  466. enable all the other commands.
  467.  
  468. ^Q  Quit calculation. As a safety feature you must quit calculation before you 
  469. can exit the program. This command has no effect if the program has finished 
  470. calculating.
  471.  
  472. ^U  Resume calculating after the above command. This also has no effect if 
  473. calculation has finished.
  474.  
  475. ^E  If this command IMMEDIATELY precedes ^C it will force the program to 
  476. return a non-zero exit code to the system. The result of this is that the 
  477. conditional command "IF ERRORLEVEL" (used in batch files) thinks the program 
  478. has exited on an error. This command therefore can be used to prevent 
  479. Emandel's self-produced batch file from erasing itself.
  480.  
  481. ^C  Exit from the program. (You must have previously used ^Q to quit 
  482. calculation mode if calculation has not yet finished.)
  483.  
  484. ^L  Log new disk drive or subdirectory. You will be prompted to enter a new 
  485. path. Use normal MS-DOS drive and path specifications. Entering an invalid 
  486. subdirectory will have no effect. But BEWARE: logging a drive that does not 
  487. have a disk in it can cause the program and the operating system to crash, 
  488. because MS-DOS will dump the program without restoring the graphics card to 
  489. text mode.
  490.  
  491. ^W  Write the program data to a disk file. This may be the data from a 
  492. completed run, or it may be the data from a run that you wish to interrupt and 
  493. save for later resumption.
  494.  
  495. <space bar> The space bar will erase whatever is on the prompt line.
  496.  
  497. ^G  Enter Grid mode. Use Grid mode if you want to select a portion of the 
  498. picture for enlargement in a later run. You can also use grid mode to see the 
  499. value and coordinates of any pixel.
  500.  
  501. ^T  Enter Threshview mode. Use Threshview mode to create pictures after 
  502. Emandel has calculated the pixel values. You may run Threshview on an 
  503. incomplete frame to see what has developed so far.
  504.  
  505. ^B  Set or change the beeper-alarm. This may be set to any value from zero to 
  506. 9. The computer will beep this many times when calculation has completed. If 
  507. set to zero, it is disabled.
  508.  
  509. ^R  This will produce a batch file to run Emandel with EXACTLY the same 
  510. parameters as in the present run. 
  511.  
  512. ^O (letter oh, not zero) While Grid mode allows you to delineate a small 
  513. portion of the screen for the next run of Emandel, you may sometimes want to 
  514. produce an overview of the present screen. That is, you want to reduce the 
  515. size of the present picture, to see what surrounds it, rather than enlarge a 
  516. small portion. The ^O command produces a batch file for an overview of the 
  517. area surrounding the present frame. You will be asked for an expansion factor, 
  518. which must be a whole number equal to or greater than 1. Using 1 is the same 
  519. as the command ^R above, except that with ^O you will be able to enter a new 
  520. file name, size, and maxit, whereas with ^R the present file name and all 
  521. settings are used again.
  522.  
  523. ^X  Toggle auto-exit mode. When auto-exit is ON, Emandel will save the data 
  524. file and exit as soon as calculation is completed. Thus you can run Emandel 
  525. unattended as part of a larger batch file.
  526.  
  527. ?  The question mark is for help and to query the program. It must be followed 
  528. by another keystroke, as follows:
  529.  
  530. ?C  Gives the coordinates of the present frame. Lr is the real component of 
  531. the left edge of the frame. Ti is the imaginary component of the top of the 
  532. frame. Bi is the imaginary component of the bottom of the frame. Rr is the 
  533. real component of the right edge of the frame.
  534.  
  535. ?M  Gives the value of maxit, which is the maximum iteration cut-off value.
  536.  
  537. ?H  Gives the number of vertical scan lines computed so far.
  538.  
  539. ?I  Gives the amount of the numerical increment from one pixel to the next. 
  540. This value gets smaller with increasing magnification. When this figure gets 
  541. down around 0.000000000000001 (1.0e-15) you are approaching the limits of the 
  542. ability of Emandel to perform meaningful calculations. This is because Emandel 
  543. uses 64-bit arithmetic (about 15 decimal places). Consider these two numbers: 
  544. 1.555555555555555 and 1.555555555555556. With 15-digit precision, it is 
  545. impossible to distinguish between them because subtracting them gives a value 
  546. of zero. 
  547.  
  548. ?S  This will tell you some figures relating to the size and aspect ratio of 
  549. the present frame: yl (y-limit) is the number of pixels vertically. xl (x-
  550. limit) is the number of pixels horizontally. (h and w, standing for height and 
  551. width are the previous figures increased to the nearest 4-line or byte 
  552. boundaries, and relate to the amount of memory the frame requires.) Size is 
  553. the fraction of total screen area being used by the present run. 1 is maximum. 
  554. On computers with less than 640K of memory it may be necessary to set size 
  555. less than 1 because of memory limitations. asp is the aspect ratio. .75 is the 
  556. aspect ratio of the full screen. Smaller values of asp indicate a picture that 
  557. is wide and squat. Larger values of asp indicate a picture that is tall and 
  558. narrow. (Emandel will adjust size as required, whether because of memory 
  559. restriction, or because of conflict with asp.)
  560.  
  561. Note that while the HGA has 348 horizontal scan lines, Emandel uses 504 scan 
  562. lines in order to produce high-quality images for the Epson printer. On the 
  563. screen, every third scan line is removed in order to fit the image into the 
  564. available space. Because of the dot ratio of the HGA and the dot ratio of the 
  565. printer, pictures remain the same shape when printed as they appear on the 
  566. screen. But the printed images have slightly better resolution.
  567.  
  568. ?G  Gives the magnification factor of the present frame. This is figured with 
  569. reference to a frame where Ti = 1.5 and Bi = -1.5.
  570.  
  571. ?J  Gives the coordinates of the "Julia point." This is the point used for 
  572. calculating Julia sets. This command functions only in Ejulia, and has no 
  573. effect in Emandel.
  574.  
  575. ?P  Gives the present disk drive and subdirectory path.
  576.  
  577. ?%  This tells you the approximate percentage of the frame which has been 
  578. completed so far. The figure is truncated to the next lower integer. Thus if 
  579. 37.9% of the frame has been completed, this command will show 37%. 
  580.  
  581. ?T  This will show you three time figures. The first is how much time the 
  582. program has spent in calculation phase during the present session. The second 
  583. is how much time has been spent in calculation phase altogether on the present 
  584. frame. (The two figures are different if you have used more than one program 
  585. session on the present frame.) Time spent in Threshview mode, in Grid mode, or 
  586. reading the help screens is not counted. The third figure is a VERY ROUGH 
  587. approximation of the time it will take to complete the frame. If less then 10% 
  588. of the frame has been completed, or if the average time per vertical scan line 
  589. is less than 3 seconds, Emandel will not attempt to extrapolate a completion 
  590. time, and will show an ellipsis [...] instead. The estimated completion time 
  591. will be very inaccurate if the frame has a lot of high-value pixels on the 
  592. left and a lot of low-value pixels on the right, or the other way around. It 
  593. will be reasonably close if the frame has a relatively uniform mix of pixel-
  594. values across its width. This figure is only intended as a crude 
  595. approximation.
  596.  
  597. ?N  This will tell you the name of the present file.
  598.  
  599. ?B  This tells you the value assigned to the beeper-alarm.
  600.  
  601. ?X  This tells you the status of the auto-exit feature.
  602.  
  603. ??  This shows you the help screens. There are 5 help screens, covering 
  604. various parts of the program. The help screens are NOT intended as a complete 
  605. manual. They only contain a brief summary of the commands.
  606.  
  607. --------------------------------------------------------------------
  608.  
  609. COMMANDS AVAILABLE IN THRESHVIEW MODE
  610.  
  611. ESC  Exit from Threshview mode. 
  612.  
  613. <BS>  Pressing the BACKSPACE key while the screen is being re-drawn will 
  614. interrupt the re-draw so that you may fill more clusters without waiting for 
  615. the complete re-draw.
  616.  
  617. V <CR>  This will show you the values assigned to each of the clusters. 
  618. Because there are hundreds of clusters, and the prompt line is only 90 
  619. characters wide, this command will show you one line at a time and wait for 
  620. you to press a key. Pressing any key will show you the next line. Pressing ESC 
  621. will by-pass the rest of the display and take you directly back to the 
  622. "Cluster?" prompt. Display concludes if all remaining clusters are clear. So 
  623. using the low-end clusters first will save time. 
  624.  
  625. L <CR>  Log new drive or subdirectory. Same as ^L in the main commands.
  626.  
  627. G <CR>  Enter Grid mode. Same as ^G in the main commands.
  628.  
  629. W <CR>  Write a disk file of the picture presently on the screen. This is NOT 
  630. the same as ^W in the main commands. ^W in main writes a file of the entire 
  631. base of data for the present frame. That can be as large as 414K, depending on 
  632. the parameters. This present command only writes a file of the image you see. 
  633. This is never larger than 43K, and may be much smaller, depending on the value 
  634. of "size." It is these image files that are used by Emdisplay to produce 
  635. pictures on a dot-matrix printer.
  636.  
  637. A <CR>  Enter Auto-draw mode. Use this command when you want to assign a 
  638. regular series of values to a sequence of clusters.
  639.  
  640. R <CR>  This will re-draw the screen. Use it when you have used <BS> to 
  641. interrupt a re-draw, and then changed your mind and want to complete the re-
  642. draw.
  643.  
  644. ? <CR>  This will show you the help screens. It is the same as ?? in main.
  645.  
  646. After you have selected a cluster, and Threshview asks you for the new top and 
  647. bottom values you may enter, instead of a number:
  648.  
  649. M  This stands for the current value of maxit.
  650.  
  651. <  This stands for one less than the current value of maxit.
  652.  
  653. =  At the "Bottom" prompt this stands for top. At the "Top" prompt this stands 
  654. for bottom, setting the one equal to the other.
  655.  
  656. C  This clears the present cluster.
  657. --------------------------------------------------------------------
  658.  
  659. AUTO-DRAW COMMANDS
  660.  
  661. C  (At the "Start?" prompt.) Clear all the clusters in the specified range.
  662.  
  663. <CR>  At the "First cluster?" prompt, <CR> means cluster 0, the lowest 
  664. cluster. At the "Last cluster" prompt, <CR> means the highest cluster, which 
  665. is cluster 300 on the present version of Emandel. At the "Start value", 
  666. "size", or "gap" prompt, <CR> means 1. At the "Stop?" prompt, <CR> will set 
  667. stop = maxit-1. 
  668.  
  669. ESC  Abort auto-draw (If you realize you just entered a wrong value and you 
  670. want to retract it.)
  671.  
  672. --------------------------------------------------------------------
  673.  
  674. COMMANDS AVAILABLE IN GRID MODE
  675.  
  676. ESC  Exit from Grid mode.
  677.  
  678. <space bar>  Erase prompt line.
  679.  
  680. +  This increments the step size for cross-hair movement by one.
  681.  
  682. *  The asterisk increments the step size by ten.
  683.  
  684. - (Minus sign)  This decrements the step size by one.
  685.  
  686. <BS>  This sets the step size back to one.
  687.  
  688. The above 4 step size commands also affect the step size of the box commands 
  689. described later.
  690.  
  691. <Del> Pressing the Del key toggles cross-hair motion back and forth between 
  692. "glide" and "step" In "glide" mode, once you have pressed a direction key, the 
  693. cross hairs will continue to move in the same direction until you press 
  694. another direction key, or press 5 to stop movement. In "step" mode, you must 
  695. continue to press a key if you wish movement to continue.
  696.  
  697. 5  This stops the cross hairs. (And has no effect in step mode.)
  698.  
  699. <Home> Moves the cross-hairs upward and to the left.
  700.  
  701. <UA>  Moves the cross-hairs upward.
  702.  
  703. <PgUp>  Moves the cross-hairs upward and to the right.
  704.  
  705. <LA>  Moves the cross-hairs to the left.
  706.  
  707. <RA>  Moves the cross-hairs to the right.
  708.  
  709. <End> Moves the cross-hairs downward and to the left.
  710.  
  711. <DA>  Moves the cross-hairs downward.
  712.  
  713. <PgDn>  Moves the cross-hairs downward and to the right.
  714.  
  715. All nine motion commands require that the Num-Lock be engaged. Emandel does 
  716. this for you when you enter Grid mode, and disengages it when you leave Grid 
  717. mode. Thus if your keyboard has a NumLock light you will see it go on and off. 
  718. Remember that if you turn it off you will defeat the cross-hair motion 
  719. commands. If you do this, simply turn it back on to restore operation.
  720.  
  721. NOTE: If you have a keyboard with separate arrow and number pad keys, you must 
  722. use the number-pad keys for cursor movement, rather than the arrow keys.
  723.  
  724. ^B  This opens a box or makes it bigger by one step
  725.  
  726. ^S  This makes the box smaller by one step.
  727.  
  728. If you limit yourself to the two above box commands you will be certain that 
  729. the aspect ratio of the box will be the same as the aspect ratio of the full 
  730. screen. You should do this if you wish the largest possible pictures. The 
  731. following commands change the shape of the box, and you may find the resulting 
  732. picture does not entirely fill the screen. Aspect ratio takes precedence over 
  733. size. Thus an aspect ratio of 1 (a square picture) cannot fill more than about 
  734. 3/4 of the screen.
  735.  
  736. ^D  This moves the floor of the box down by one step.
  737.  
  738. ^U  This moves the floor of the box upward by one step.
  739.  
  740. ^L  This moves the right-hand side of the box left by one step.
  741.  
  742. ^R  This moves the right-hand side of the box right by one step.
  743.  
  744. 0   (zero, not the letter oh)  This closes the box.
  745.  
  746. The following two commands cause Grid to produce a batch file. You will be 
  747. asked to enter a file name for the new file. This will be the name for the 
  748. next data file, not the name of the batch file. Pressing <CR> will cause 
  749. Emandel to select a data file name at run-time. Then you will be asked to 
  750. enter the value for maxit. Pressing <CR> will cause the same value of maxit to 
  751. be used as is in effect in the present run. Then you will be asked to enter 
  752. size. Size is a decimal number less than or equal to 1. 1 is full-size. 
  753. Pressing <CR> will set size = 1. Size will be reduced at run-time if it 
  754. conflicts with the aspect ratio or the available memory of your computer. You 
  755. will not be asked for the aspect ratio. This is determined by the shape of the 
  756. box you have made. Pressing ESC at any prompt will abort the batch file 
  757. routine.
  758.  
  759. #  The cross-hatch causes a batch file to be written. Emandel will write a 
  760. batch file that runs Emandel. Ejulia will write a batch file that runs Ejulia.
  761.  
  762. ^J  This command is for Emandel. It will have no effect in Ejulia. It will 
  763. write a batch file that will run Ejulia to produce an entire Julia set, using 
  764. the present cross-hair point as the Julia point. Remember that each Julia set 
  765. is related to one point in the Mandelbrot set. This is the command that 
  766. connects the two programs: It lets you select a point in the Mandelbrot set 
  767. from Emandel, and then run Ejulia, producing an entire Julia set. From there, 
  768. you use Ejulia, just as you used Emandel, to explore and magnify parts of the 
  769. Julia set. There are an infinite number of Julia sets. The farther apart their 
  770. Julia points are in the Mandelbrot set, the less alike the two Julia sets are. 
  771. Generally, a Julia set will resemble the appearance of that part of the 
  772. Mandelbrot set from which the point was taken. You will get the best results 
  773. if you place the cross-hairs on a place where there is a lot of detail.
  774.  
  775. --------------------------------------------------------------------
  776.  
  777. USING THRESHVIEW
  778.  
  779. From main mode enter Threshview mode by pressing ^T. 
  780.  
  781. You will see a prompt that says "Cluster?"
  782.  
  783. You now have several options:
  784.      Press <ESC> to exit Threshview and return to main mode.
  785.      Press L <CR> to log a different drive or subdirectory.
  786.      Press V <CR> to view the present cluster values.
  787.      Press G <CR> to enter Grid mode.
  788.      Press W <CR> to write a disk file of the picture on the screen.
  789.      Press A <CR> to use the Auto-draw feature.
  790.      Press R <CR> to re-draw the screen.
  791.      Press ? <CR> to see the help screens.
  792.      Enter a number to indicate which cluster you wish to modify.
  793.  
  794. Note that in the above commands you must use the <CR> after your command or 
  795. after typing a number. You may use either upper case or lower case for the 
  796. letter commands.
  797.  
  798. If you select V a blinking cursor will appear at the end of the line. Press 
  799. any key to continue. Press ESC to return directly to the "Cluster?" prompt.
  800.  
  801. If you enter a number and press <CR> you will be shown the present bottom and 
  802. top values of that cluster and asked for a new bottom value. Pressing <CR> at 
  803. this point will cause the bottom value to be left unchanged. Entering a number 
  804. will set the bottom value to that number. You will then be asked for a new top 
  805. value. <CR> will leave the top value unchanged. Entering a number will set the 
  806. top value to that number. Entering C <CR> at either "top" or "bottom" prompt 
  807. will cause that cluster to be cleared. The bottom and top values may be equal. 
  808. But specifying bottom above top will clear the cluster. 
  809.  
  810. Instead of entering numbers, you may enter the letter M. This causes the value 
  811. to be set equal to the present value of maxit. 
  812.  
  813. Or you may enter a "less than" sign (<). This causes the value to be set to 
  814. one less than maxit. This is useful when you want to leave the actual 
  815. Mandelbrot set dark, but illuminate the pixels immediately outside it.
  816.  
  817. Or you may enter an equals sign (=). This will set top equal to bottom or 
  818. bottom equal to top.
  819.  
  820. If all the clusters are clear, nothing will be done and you will be returned 
  821. to the "Cluster?" prompt. However if any cluster contains valid values the 
  822. screen will be re-drawn to show the picture specified by the clusters. If you 
  823. press <BS> while the program is in the process of re-drawing the screen, the 
  824. process will be halted and you will be returned to the "Cluster?" prompt. This 
  825. allows you to set another cluster without waiting for the screen re-draw.
  826.  
  827. Before Emandel begins to re-draw the screen it has to scan all the cluster 
  828. values and set up an internal look-up table. This takes a short time. It 
  829. begins with Cluster Zero, and it stops when no further clusters contain 
  830. values. Thus you will get slightly faster operation if you use the low-
  831. numbered clusters first. That is, if you set clusters 1 through 50 it will 
  832. take less time to set up the look-up table than if you set clusters 250 
  833. through 300.
  834.  
  835. -------------------------------------------
  836.  
  837. USING AUTO-DRAW 
  838.  
  839. Auto-draw allows you to easily set a whole sequence of clusters in a specified 
  840. pattern. This makes it easy, for example, to illuminate all pixels with even 
  841. values, or values divisible by 3, etc. It is a labor-saving feature.
  842.  
  843. At the Threshview "Cluster?" prompt, enter A <CR>
  844.  
  845. (Note that you have to press the carriage return key (ENTER or RETURN) after 
  846. the A.)
  847.  
  848. Then, at the "First cluster?" prompt, enter the number of the first cluster in 
  849. the sequence you wish to alter. If you just press <CR>, the first cluster will 
  850. be cluster 0. If you press ESC no clusters will be changed and you will be 
  851. returned to Threshview and the "Cluster?" prompt.
  852.  
  853. At the "Last cluster?" prompt, enter the number of the last cluster you wish 
  854. to alter. If you just press <CR> the last cluster will be the highest numbered 
  855. cluster available, which is cluster 300 in the present version. If you press 
  856. ESC no clusters will be changed and you will be returned to Threshview and the 
  857. "Cluster?" prompt.
  858.  
  859. At the "Start value?" prompt, enter the bottom value you wish the first 
  860. cluster to have. If you enter C <CR> all the clusters in the specified 
  861. sequence will be cleared. If you just press <CR> the start value will be set 
  862. to 1. If you press ESC no clusters will be changed and you will be returned to 
  863. Threshview and the "Cluster?" prompt.
  864.  
  865. At the "Size?" prompt, enter the width you want each cluster to have. Because 
  866. a cluster specifies a range of pixel values, "size" is the difference between 
  867. the bottom value and the top value, plus one. If bottom = 15 and top = 16 then 
  868. size is 2. If top and bottom are the same, then size is 1. <CR> will set the 
  869. size to 1. ESC will abort, as above.
  870.  
  871. At the "Gap?" prompt, enter the gap between clusters. Since each cluster 
  872. specifies a range of pixel values to be illuminated, GAP is a range of pixel 
  873. values to be left dark (unless those "dark" values are illuminated in a 
  874. different cluster.) If gap is set at 1 and the top of one cluster is 17 then 
  875. the bottom of the next cluster will be 19. If gap is 3 and the top of one 
  876. cluster is 17 then the bottom of the next cluster will be 21. <CR> will set 
  877. the gap to 1. ESC will abort.
  878.  
  879. At the "Stop value?" prompt enter the highest value you want to be assigned to 
  880. any cluster in the sequence. If this value is reached before the last cluster 
  881. in the sequence is reached, all remaining clusters in the sequence will be 
  882. cleared. This is useful if, for example, you want to illuminate all pixels 
  883. with odd values between 25 and 51. You do not need to calculate how many 
  884. clusters need to be specified. Specify a large number of clusters, and use the 
  885. stop value to set 51 as the cut-off. 
  886.  
  887. If you press <CR> at the "Stop value?" prompt, the value of stop is set to one 
  888. less than maxit. If you wish to set the stop value to maxit (or above, which 
  889. has no effect) you must enter it as a number. I find that I never want to 
  890. include maxit in the auto-draw sets. I prefer to include maxit in a cluster 
  891. all its own so that I can easily see the effect of illuminating or darkening 
  892. just the pixels whose value is equal to maxit, because this can sometimes be a 
  893. large portion of the screen.
  894.  
  895. After you have answered the "Stop value?" prompt the screen will be re-drawn 
  896. to show the new image. You will then be back at the Threshview "Cluster?" 
  897. prompt. As before, pressing <BS> during the re-draw process will halt the re-
  898. draw so you may alter more clusters without waiting.
  899.  
  900. --------------------------------------------------------------------
  901.  
  902. USING GRID
  903.  
  904. Press ^G from main mode, or press G <CR> from Threshview mode to enter Grid 
  905. mode.
  906.  
  907. Use Grid mode when you want to mark a portion of the current frame to be 
  908. enlarged in a future frame.
  909.  
  910. When you enter Grid mode a pair of cross-hairs will appear centered on the 
  911. upper left corner of the screen. At the same time, the coordinates and value 
  912. of that pixel will be shown on the prompt line. The letter "g" or "s" at the 
  913. left of the prompt line will tell you whether you are in "glide" or "step" 
  914. mode. The NumLock on your keyboard will be engaged automatically.
  915.  
  916. Use the number pad keys to move the position of the cross-hairs. Even if you 
  917. have separate arrow keys, use the number pad keys anyway. Grid actually 
  918. responds to numbers. This is so that there may be 8 directions plus stop, 
  919. rather than just 4 directions.
  920.  
  921. The 5 key is stop. The other number pad keys move the cross-hairs. The state 
  922. of the glide toggle determines whether motion commands operate as single-step 
  923. or as continuous motion. The Del key toggles glide on and off.
  924.  
  925. The + (plus) key increments step size by one. The * (asterisk) key increments 
  926. the step size by ten. The - (minus) key decrements the step size by one. The 
  927. <BS> key sets the step size back to one. 
  928.  
  929. Use the above commands to place the cross-hairs at the top and left of the 
  930. portion of the frame you wish to enlarge.
  931.  
  932. The box commands are all control keys. (Meaning that you hold down the CONTROL 
  933. key while you tap the indicated key. Control keys are indicated with a carat: 
  934. ^.)
  935.  
  936. Press ^B to make a box bigger. Press ^S to make a box smaller. These two 
  937. commands have a built-in scale factor that keeps the box the same shape as the 
  938. full screen, providing that you avoid the following commands. Use the 
  939. following only if you want to depart from the default aspect ratio of .75.
  940.  
  941. Press ^D to move the floor of the box downward. Press ^U to move the floor of 
  942. the box upward. Press ^R to move the right side of the box to the right. Press 
  943. ^L to move the right side of the box to the left.
  944.  
  945. You may close the box by pressing 0 (zero). Or you may close it by pressing ^S 
  946. enough times, or by pressing ^L and ^U enough times.
  947.  
  948. You cannot "invert" the box. But if you make a box that has width but no 
  949. height, or height but no width, one line of the original cross-hairs will 
  950. disappear. Don't worry about it. The cross-hairs will re-appear once you have 
  951. opened both height and width to the box, or when you have closed the box.
  952.  
  953. If a box is open, the commands for cross-hair movement will move the entire 
  954. box, though it will move more slowly.  
  955.  
  956. Once you have positioned the box exactly over the portion of the frame that 
  957. you wish to enlarge, press the # (crosshatch) key.
  958.  
  959. The program will then ask you for a file name. This is to be the name of the 
  960. data file that will hold the data for the new run. This allows you to use a 
  961. descriptive file name. If you just press <CR> then Emandel will construct a 
  962. file name at run-time. 
  963.  
  964. Next, Grid will ask you for maxit. This is the value of maxit that will be 
  965. used for the new frame. If you press just <CR> the present value of maxit will 
  966. be used. 
  967.  
  968. Next Grid will ask you for size. This is the fraction of screen area which is 
  969. to be used by the new frame. Size must be greater than zero and less than or 
  970. equal to one. If you select a size that is too large for your computer's 
  971. memory, Emandel will reduce it at run-time. If you press just <CR> size will 
  972. be 1.
  973.  
  974. Grid will not ask you for the aspect ratio, because that is determined by the 
  975. shape of the box you have drawn. This is why, if you want the picture to fill 
  976. the entire screen, you should avoid the ^R, ^L, ^D, and ^U commands, which 
  977. change the shape of the box, and use only the ^B and ^S commands which have a 
  978. built-in .75 aspect ratio.
  979.  
  980. If the aspect ratio of the box is other than .75 then the maximum possible 
  981. value of size will be less than 1. For example, a square box cannot entirely 
  982. fill the rectangular screen. If you give a value of size that cannot be met 
  983. for this reason, Emandel will merely make the frame as large as it can fit 
  984. into the screen without changing the shape of the box. Thus you can always 
  985. safely give a value of 1 for the size when you want the largest possible size, 
  986. even though you might actually get a smaller size. 
  987.  
  988. After you have answered the "Size?" prompt, Grid will write a batch file to 
  989. the currently logged directory. The name of the batch file will be constructed 
  990. so as not to conflict with any file presently on the same directory. Grid will 
  991. display the name of the batch file.
  992.  
  993. At this point, you may continue with Grid. You can make as many batch files as 
  994. you like. Or you may press ESC to exit from Grid mode. You will be placed back 
  995. wherever you were when you entered Grid mode, either Threshview mode or main 
  996. mode. 
  997.  
  998. Later, after you have exited from Emandel, and you wish to begin work on the 
  999. frame you marked out under Grid mode above, simply type the name of the batch 
  1000. file (without the .BAT extension) at the normal DOS prompt, just as you would 
  1001. run any program. The batch file will run Emandel with all the command line 
  1002. parameters needed to create the frame you marked out.
  1003.  
  1004. Because it is assumed that you will have no need for the same batch file a 
  1005. second time, the batch file will automatically erase itself if and only if 
  1006. Emandel exits without any error conditions. If Emandel is unable to start 
  1007. properly (for example if there is not enough RAM or not enough disk space 
  1008. available) then the batch file will not be erased. If you know that you want 
  1009. to keep a copy of the batch file, then either make a backup copy of it, or 
  1010. edit it to remove the second line. Alternatively, if you exit the program 
  1011. using the command ^E^C the batch file will not erase itself. (See ^E under 
  1012. MAIN COMMANDS above.)
  1013.  
  1014. -------------------------------------------
  1015.  
  1016. MOVING FROM MANDELBROT TO JULIA
  1017.  
  1018. Another feature of Grid mode allows you to create a batch file from Emandel to 
  1019. run Ejulia. Because it is critical when starting Ejulia to have precise 
  1020. control over the selection of the "Julia point", Grid performs this service 
  1021. for you: 
  1022.  
  1023. If you press ^J from Grid mode, Emandel will create a batch file as above. 
  1024. However, it will be a batch file that will run Ejulia, and the Julia point 
  1025. will be the point where the cross-hairs are located. If a grid box is open it 
  1026. will have no effect. The upper left corner of the box is the point that is 
  1027. used. This batch file will run Ejulia with a frame that should enclose the 
  1028. entire Julia set. I recommend setting size fairly small for a quick run, and 
  1029. then using Ejulia to magnify the whole set or parts of the set. (The ^J 
  1030. command has no effect in Ejulia.)
  1031.  
  1032. Ejulia works just like Emandel, except that a few commands are relevant to one 
  1033. program and not the other.
  1034.  
  1035. When you use Grid mode in Ejulia, the Julia point written to the batch files 
  1036. is the same as the Julia point in the present run. If you want to change the 
  1037. Julia point you must edit the batch file with a text editor. I do not 
  1038. recommend this, because the outcome is utterly unpredictable.
  1039.  
  1040. -------------------------------------------
  1041.  
  1042. SUBDIRECTORIES
  1043.  
  1044. Emandel always writes files (data files, picture files, and batch files) to 
  1045. the currently logged subdirectory. By using the ^L command in main or the L 
  1046. <CR> command in Threshview or the L command in Grid mode, you can change the 
  1047. logged drive or subdirectory. Giving an invalid subdirectory name has no 
  1048. effect. But logging on to a drive that has no disk in it will crash the system 
  1049. because DOS will abort the program without returning the HGA to text mode.
  1050.  
  1051. -------------------------------------------
  1052.  
  1053. ESCAPE TO DOS
  1054.  
  1055. Some programs let you perform DOS commands, or even run entire programs, 
  1056. without exiting the present program. You cannot do this with Emandel because 
  1057. Emandel uses ALL your computer's memory, up to the full 640K DOS limit. There 
  1058. is simply no memory available for anything else while Emandel is running.
  1059.  
  1060. -------------------------------------------
  1061.  
  1062. EXIT CODES
  1063.  
  1064. Emandel provides exit codes to DOS when it terminates. If you run Emandel from 
  1065. your own batch files, or under the control of some other program that needs to 
  1066. know whether Emandel terminated successfully, you can test for the exit code. 
  1067. The codes are as follows:
  1068.  
  1069. 0  No errors. Normal program termination
  1070. 1  Unrecognized command line option.
  1071. 2  Incorrect number of command line parameters.
  1072. 3  Insufficient RAM to allocate the data array. 
  1073. 4  Insufficient disk space to hold a completed data file. 
  1074. 5  Emandel cannot find the data file named on the command line.
  1075. 6  The data file named on the command line comes from the wrong program: 
  1076. Emandel and Ejulia produce incompatible files. 
  1077. 7  Limits error.
  1078. 8  Size/aspect error.
  1079. 9  Insufficient RAM to even begin allocating memory for Emandel's internal 
  1080. arrays.
  1081. 10 Invalid file name on command line.
  1082. 99 No errors. Normal program termination, but the user has requested a non-
  1083. zero exit code.
  1084. -------------------------------------------
  1085.  
  1086. ERROR MESSAGES
  1087.  
  1088. ABORTED. PRESS ANY KEY. An operation has been aborted, probably due to an 
  1089. invalid parameter. Simply proceed with the program. Try the same operation 
  1090. again if you like, being careful to enter valid parameters.
  1091.  
  1092. CAN'T MAKE BATCH FILE. Emandel is unable to open a disk file. Your disk may be 
  1093. full, (or have no remaining directory space if you are on the root directory). 
  1094. Log on to another drive, or directory, using the ^L or L command and try 
  1095. again.
  1096.  
  1097. CANNOT GET FILENO. If this occurs it is probably a software error. 
  1098.  
  1099. CAN'T OPEN FILE. Emandel is unable to open a file. Try another disk drive or 
  1100. subdirectory.
  1101.  
  1102. INCORRECT NUMBER OF ARGUMENTS. You invoked Emandel without the correct number 
  1103. of command line parameters. Read the section of this manual on starting 
  1104. Emandel and try again.
  1105.  
  1106. INSUFFICIENT DISK SPACE. The presently logged disk drive does not have enough 
  1107. space for the file you are trying to save. Log onto another drive and try 
  1108. again.
  1109.  
  1110. INSUFFICIENT MEMORY. REDUCING FRAME SIZE. PROCEED OR ABORT? This message will 
  1111. appear if the command line parameters would require Emandel to use more memory 
  1112. than is available in your computer. This is not a fatal error. Emandel will 
  1113. automatically re-size the frame by cutting off as much as necessary from the 
  1114. right-hand side and give you the choice of proceeding or aborting. If you 
  1115. prefer not to have the screen automatically re-sized (which has the side-
  1116. effect of altering its shape) you may abort and invoke the program again with 
  1117. a smaller value of the size parameter. Unlike automatic re-sizing, changing 
  1118. size on the command line does not affect the aspect ratio. If you have memory-
  1119. resident programs loaded, they may be taking up a good deal of valuable 
  1120. memory. I recommend you run Emandel without memory-resident programs. MEMORY 
  1121. RESIDENT PROGRAMS PROBABLY WILL NOT WORK WITH EMANDEL, BECAUSE EMANDEL RUNS IN 
  1122. GRAPHICS MODE. If you invoked Emandel via a batch file created in Grid mode 
  1123. and you get this message, pressing "A" for abort will not erase the batch 
  1124. file. You may edit the batch file (setting size smaller) or eliminate memory-
  1125. hogging memory-resident programs, and try again.
  1126.  
  1127. INSUFFICIENT SPACE FOR ... BYTE DATA FILE. As a safety measure, Emandel will 
  1128. not start unless there is enough space on the currently logged drive for the 
  1129. full data file that would result on completion. If you get this message, log 
  1130. onto a large enough drive and try again. For reasons of disk access speed, and 
  1131. the large size of Emandel disk files, Emandel should always be run from a hard 
  1132. disk or a very large RAM disk.
  1133.  
  1134. INSUFFICIENT SPACE FOR ... BYTE FILE. Similar to the above, but this message 
  1135. appears when you try to save a data file, rather than when you start the 
  1136. program. This message does not kill the program. If you see this message, log 
  1137. onto a drive with enough free space and try again.
  1138.  
  1139. LIMITS ERROR. This is a software error. You should never see this one. If you 
  1140. do, it is a program bug. Please let me know.
  1141.  
  1142. NO RAM AVAILABLE. This message appears at program start-up (and the program 
  1143. aborts) if there is not even enough memory to *begin* to allocate Emandel's 
  1144. memory requirements. This is very unlikely. It may mean that you have very 
  1145. little memory, or a *lot* of memory-resident programs. If you know that you 
  1146. have 384K or more, try doing a cold-boot and trying again. Try booting without 
  1147. any memory-resident programs.
  1148.  
  1149. SIZE/ASPECT ERROR. This is another software bug error. If you see it, please 
  1150. let me know.
  1151.  
  1152. <file> NOT AN EMANDEL FILE
  1153. <file> NOT AN EJULIA FILE  These messages mean the file passed to the program 
  1154. on the command line is of an incompatible type. Emandel and Ejulia files are 
  1155. not interchangeable.
  1156.  
  1157. UNRECOGNIZED OPTION. This message means that there was an option on the 
  1158. command line that Emandel does not recognize. Please read the section on 
  1159. starting Emandel and try again.
  1160.  
  1161. --------------------------------------------------------------------
  1162.  
  1163. EMDISPLAY
  1164.  
  1165. Emdisplay allows you to view and print pictures created with Emandel. Note 
  1166. that Emdisplay does not view data files (with the PIK file type extension) but 
  1167. only PICTURE files (which you create with Threshview and which have the PIC 
  1168. file type extension.)
  1169.  
  1170. USAGE:
  1171.  
  1172. EMDISPLAY [<filename>] [...] [/<options>]
  1173.  
  1174. <filename> is any valid file name, optionally including a drive designation 
  1175. and path. It may contain MS-DOS "wild cards". If no file type extension is 
  1176. given, then PIC is assumed. You may list as many different file names as you 
  1177. like, each of which may contain drive\path and wild cards. If no file name is 
  1178. given, then *.PIC is assumed.
  1179.  
  1180. /<options> are optional. The options all deal with printing, so you need not 
  1181. use them if you are going to view files without printing. The list of options 
  1182. must be preceded by a forward slash, and there must be no spaces after the 
  1183. slash or within the list of options. Available options are as follows: (They 
  1184. may be used in any order and letters may be upper or lower case.)
  1185.  
  1186. 2  Use port LPT2.
  1187.  
  1188. 3  Use port LPT3.
  1189.  
  1190. ?  Print a help message. This option also aborts the program, so it makes the 
  1191. other options superfluous. 
  1192.  
  1193. D  Print dark. This is useful if your printer ribbon is not as dark as you 
  1194. want. Basically this command is an "overstrike" mode.
  1195.  
  1196. F+ Increase the amount of the line feed by 1/216 of an inch. You may want to 
  1197. use this if your printer does not track well.
  1198.  
  1199. F- Decrease the amount of the line feed by 1/216 of an inch.
  1200.  
  1201. N  Print without asking. Normally Emdisplay shows you the pictures one at a 
  1202. time and waits for you to press a key. If you include N in the options, 
  1203. Emdisplay will print all the pictures without pausing. Thus, if you use 
  1204. fanfold paper you can print a number of pictures unattended. If you use this 
  1205. option, Emdisplay will exit after all the files in the list have been printed.
  1206.  
  1207. R  Print the picture so that black and white are reversed.
  1208.  
  1209. Z  Send the print output to a disk file named EPT.DAT instead of to the 
  1210. printer. This is really intended as a diagnostic feature. But it also allows 
  1211. you to create a data file that can drive the printer independent of the 
  1212. Emdisplay program.
  1213.  
  1214. ^  (carat) This command over-rides the automatic paper advance. Normally, if 
  1215. you place the paper so that its top edge is even with the top of the ribbon, 
  1216. Emdisplay will advance the paper so that the finished picture is centered in 
  1217. the page. However, with this command you can over-ride that feature.
  1218.  
  1219. COMMANDS FOR USE WITHIN EMDISPLAY
  1220.  
  1221. Emdisplay shows you the pictures you listed on the command line and at each 
  1222. picture it waits for a command, unless you included N in the options. (See 
  1223. above.) The commands are:
  1224.  
  1225. LEFT ARROW or
  1226. UP ARROW or
  1227. B  Emdisplay will go back to the previous picture.
  1228.  
  1229. HOME  Go back to the first picture.
  1230.  
  1231. END  Go to the last picture.
  1232.  
  1233. P  Print the picture. Emdisplay will use printer port LPT1 unless you have 
  1234. included 2 or 3 in the options list, in which case it will use LPT2 or LPT3 
  1235. respectively. After printing it will automatically advance to the next picture 
  1236. in the list.
  1237.  
  1238. ALT-P  Print dark if /D was NOT specified on the command line, or print light 
  1239. if /D WAS specified on the command line. In other words, this command prints 
  1240. the file but over-rides the command-line intensity specification.
  1241.  
  1242. X  Emdisplay will quit and exit.
  1243. ESC  Same as above.
  1244.  
  1245. <any other key> Emdisplay will go forward and show you the next picture.
  1246.  
  1247. ^C  If you press control-C while Emdisplay is printing a picture, the printing 
  1248. will abort and the program will advance to the next picture. The printer will 
  1249. not immediately stop because it already has the next few lines in its own 
  1250. internal memory buffer. If you press control-C when Emdisplay is not printing, 
  1251. it has the same effect as Q above.
  1252.  
  1253. The pictures are viewed in a continuous loop. After the last, it returns to 
  1254. the first. If you go (B)ackward from the first, it shows you the last. It will 
  1255. not terminate until you tell it to unless you use the N option (print without 
  1256. asking, see above).
  1257.  
  1258. When you tell Emdisplay to print a picture, it first advances the paper, 
  1259. unless you have used the ^ option. (See above.) This makes it easier to 
  1260. position the paper: Put it so the top of the page is level with the top of the 
  1261. ribbon. At the end of printing a picture, Emdisplay sends a form-feed to the 
  1262. printer. Thus, if you are using fan-fold paper you can print a number of 
  1263. pictures one after the other, and they should all be centered correctly. 
  1264. (However, on my printer, friction feed is more accurate than tractor feed, so 
  1265. pictures printed on individual sheets look better than those printed on fan-
  1266. fold paper.)
  1267.  
  1268. Pictures are printed sideways, so a wide-carriage printer is not required.
  1269.  
  1270. ERROR MESSAGES
  1271.  
  1272. You may get an error message when you try to print, or during printing if your 
  1273. printer is turned off, if it is off-line, if there is no printer connected to 
  1274. the printer port, if it runs out of paper, or if you shut it off while 
  1275. printing.
  1276.  
  1277. If this happens, Emdisplay will give you a choice:
  1278.  
  1279. (A)bort, e(X)it, (R)etry?
  1280.  
  1281. If you press A the attempt to print the current picture will be abandoned. You 
  1282. may tend to you your printer and try again.
  1283.  
  1284. If you press X the program will terminate and exit.
  1285.  
  1286. If you press R the program will try to continue where it left off when the 
  1287. error occurred.  
  1288.  
  1289. --------------------------------------------------------------------
  1290.  
  1291. FILE FORMATS
  1292.  
  1293. In case you wish to make use of Emandel's files for programs of your own 
  1294. (perhaps to write your own printer driver for a non-Epson printer) I provide 
  1295. below the file formats.
  1296.  
  1297. DATA FILE FORMAT
  1298.  
  1299. The data files always have the file type extension PIK. 
  1300.  
  1301. The first byte is an ascii character: K for Emandel, and J for Ejulia. Future 
  1302. versions may use different characters to allow detection of incompatible file 
  1303. formats.
  1304.  
  1305. The next 80 bytes are program variables. (I)ntegers are 2 bytes, (D)oubles are 
  1306. 8-bytes in standard 8087 format, (L)ong integers are 4 bytes. The variables 
  1307. appear in the following order:
  1308.  
  1309. (D) The real component of the left edge of the frame.
  1310. (D) The imaginary component of the top of the frame.
  1311. (I) The width in pixels of the frame.
  1312. (I) The height in pixels of the frame.
  1313. (I) The width the data array.
  1314. (I) The height the data array.
  1315. (D) The increment between calculated points.
  1316. (D) The height to width aspect ratio.
  1317. (D) The fraction of the screen covered by the frame.
  1318. (I) The iteration cut-off limit, maxit.
  1319. (I) The number of vertical scan lines completed so far.
  1320. (D) The imaginary component of the bottom of the frame.
  1321. (D) The real component of the Julia point. (0.0 in Emandel.)
  1322. (D) The imaginary component of the Julia point. (0.0 in Emandel)
  1323. (L) The number of seconds spent so far in calculation phase.
  1324.  
  1325. The next 44 bytes are filler, to allow header room for future versions.
  1326.  
  1327. The rest of the file is the iteration value of the pixels. Pixels are mapped 
  1328. from the top of the frame to the bottom, and then from left to right. If maxit 
  1329. is less than or equal to 255 then each pixel takes one byte. If maxit is 
  1330. greater than 255 then each pixel takes 10 bits. "The height of the data array" 
  1331. above is the number of bytes per vertical scan line in the data file if maxit 
  1332. is less than or equal to 255. If maxit is greater than 255, then add 25% to 
  1333. the height to get the number of bytes per vertical scan line. "The number of 
  1334. vertical scan lines completed so far" is the number of vertical scan lines in 
  1335. the data file. 
  1336.  
  1337. PICTURE FILE FORMAT
  1338.  
  1339. Picture (image-only) files always have the file type extension PIC.
  1340.  
  1341. The file begins in ascii with the command line that started Emandel, 
  1342. terminated with decimal 26, and then filled out to a standard total length of 
  1343. 160 bytes. This allows Emandel to re-create an old data file from the picture 
  1344. file. If you have made the data file MYPIC.PIK and made a picture from it 
  1345. named MYPIC0.PIC and then erased the date file MYPIC.PIK to save disk space 
  1346. (the picture file is about 1/10 the size of the data file) and then you want 
  1347. to re-create the original data file, do the following:
  1348.  
  1349. COPY  /A  MYPIC.PIK  DOIT.BAT
  1350. DOIT
  1351.  
  1352. The DOIT batch file will run Emandel for you.
  1353.  
  1354. After those first 160 bytes:
  1355.  
  1356. The next 2 bytes are an integer, the HEIGHT in pixels of the frame.
  1357. The next 2 bytes are an integer, the WIDTH of the frame in pixels.
  1358.  
  1359. Then follows the body of the data:
  1360.  
  1361. Pixels are bit-mapped from the picture frame to the file one horizontal scan 
  1362. line at a time. The length of each scan line in bytes is one-eighth of the 
  1363. WIDTH above. The number of scan lines is equal to HEIGHT, above. Note that 
  1364. this is not a simple dump of the HGA memory. The HGA mixes up the order of the 
  1365. scan lines, which Emandel does not do. One-third of the scan lines are 
  1366. reserved for the printer and do not show on the screen. The height and width 
  1367. of the file are only as large as required for the picture. Thus small pictures 
  1368. make small files.
  1369.  
  1370. Following image data is the title line, also bit-mapped, as eight scan lines, 
  1371. each 84 bytes long.
  1372.  
  1373. Although Emandel shows small-size frames in the upper left corner of the 
  1374. screen, Emdisplay will center images in the screen and place the title line at 
  1375. the bottom.
  1376.  
  1377. Although small frame sizes make smaller data and picture files, Emandel does 
  1378. not use data compression. If you are saving a lot of files, I recommend the 
  1379. use of a file archiving program such as PKARC, from PKWARE. PKARC is shareware 
  1380. and is available from many sources, including BBS systems. 
  1381.  
  1382. --------------------------------------------------------------------
  1383. A NOTE ON MAXIT
  1384.  
  1385. For the overview of the entire Mandelbrot set you can set maxit to 100. As you 
  1386. go to larger magnification, you will often need to set maxit higher in order 
  1387. to get satisfactory results. Generally, the higher you set maxit, the longer 
  1388. it will take to complete the frame. You will soon learn to get a balance 
  1389. between these two concerns.
  1390.  
  1391. -------------------------------------------
  1392.  
  1393. GLOSSARY OF SOME TERMS USED IN THIS DOCUMENTATION
  1394.  
  1395. ASPECT RATIO  The ratio of height to width. Because of the extra scan lines 
  1396. kept out of sight in Emandel's memory, the aspect ratio you see on the screen 
  1397. is the same as you will get on the printer.
  1398.  
  1399. CLUSTER  In Threshview mode (and its offshoot, Auto-draw) a cluster holds a 
  1400. range of pixel values to be illuminated. In the present version there are 301 
  1401. clusters, numbered from 0 to 300. A cluster may be clear, in which case it has 
  1402. no effect. Or it may have a bottom and top value. Any pixel whose value is 
  1403. within any cluster will be illuminated. Thus if a cluster is assigned a bottom 
  1404. of 17 and a top of 19, then all pixels with values of 17, 18, or 19 will be 
  1405. illuminated. Thus you can define up to 301 different ranges of values, and all 
  1406. pixels that fall inside of any of these ranges will be illuminated. It is this 
  1407. flexibility that gives Emandel its character: It lets you interact with the 
  1408. computer to specify the values to be illuminated. You become an artist, and 
  1409. your material is the raw data produced by the program. (Incidentally, the 
  1410. quantity of data in one typical run of Emandel would have taken a 
  1411. mathematician with paper and pencil several lifetimes to produce in the days 
  1412. before computers.)
  1413.  
  1414. CLUSTER BOTTOM  The bottom value in a cluster: the minimum pixel value that 
  1415. will be illuminated by that cluster.
  1416.  
  1417. CLUSTER SIZE  The difference between the cluster bottom and the cluster top, 
  1418. plus one. Thus if bottom is 17 and top is 19, the size of the cluster is 3. 
  1419. When Auto-draw asks you for size, it wants to know the size of each cluster in 
  1420. the sequence that is to be set automatically.
  1421.  
  1422. CLUSTER STOP VALUE  In Auto-draw, this is a cut-off value. If you have 
  1423. specified a range of clusters to be set automatically, Emandel assigns bottom 
  1424. and top values to them in ascending order. If the stop value is reached before 
  1425. the last cluster is reached, the remainder of the clusters in the sequence 
  1426. will be cleared. Thus you actually have two ways of specifying the upper cut-
  1427. off: by the assignment of "last cluster" or by the assignment of "stop value".
  1428.  
  1429. CLUSTER TOP  The top value in a cluster. The maximum pixel value that will be 
  1430. illuminated by that cluster.
  1431.  
  1432. DATA FILE  The disk file in which Emandel stores all the information needed to 
  1433. resume a run which has been halted. Eventually, this is the data that Emandel 
  1434. will use to make images in Threshview mode.
  1435.  
  1436. EXIT CODE  When a program running under MS-DOS terminates, it can give DOS a 
  1437. number, called an exit code. It is often useful for a program to communicate 
  1438. with DOS to announce whether it did its job and terminated normally, or 
  1439. encountered an error condition and was forced to abort without doing its job. 
  1440. This exit code can be tested in a batch file, or can be read by the next 
  1441. program. See EXIT CODES elsewhere in this documentation.
  1442.  
  1443. FIRST CLUSTER  When auto-draw asks you for a first cluster, it wants to know 
  1444. the first of the sequence of clusters that you wish to set automatically.
  1445.  
  1446. FRAME  The frame is the portion of the complex number plane being examined.
  1447.  
  1448. GAP  In auto-draw, GAP is the difference between the top of one cluster and 
  1449. the bottom of the next.
  1450.  
  1451. GLIDE  In Grid mode, glide means that cross-hair motion commands are "sticky": 
  1452. they continue until you override them with another command. The <Del> key 
  1453. toggles glide mode to step mode.
  1454.  
  1455. GRID BOX  The grid box is the portion of the screen marked out by the two sets 
  1456. of cross-hairs in Grid mode.
  1457.  
  1458. GRID MODE  Grid mode is the feature of Emandel that lets you see the 
  1459. coordinates and value of any pixel and create batch files automatically. This 
  1460. makes it much easier to explore the Mandelbrot set than it would be if you had 
  1461. to guess at the coordinates of the areas you wanted to view.
  1462.  
  1463. GRID WINDOW Grid window is another term for Grid box.
  1464.  
  1465. HEIGHT  The number of scan lines in Emandel's internal memory array. It can be 
  1466. slightly larger than y-limit because it must be divisible by 4. Both height 
  1467. and y-limit are larger than the height in pixels of the screen image because 
  1468. of the extra scan lines for the printer.
  1469.  
  1470. LAST CLUSTER  When Auto-draw asks you for the last cluster, it means the last 
  1471. in the sequence of clusters you wish to set automatically.
  1472.  
  1473. MAXIT  This is the maximum number of iterations that will be performed on any 
  1474. one pixel during calculation phase. For most frames, setting maxit lower will 
  1475. result in faster calculation, but setting maxit higher will result in more 
  1476. clearly-defined edges. Generally, I advise setting maxit low for broad over-
  1477. views of the set, and setting maxit high for highly-magnified views of 
  1478. structures very near the edge of the set. (Note that it is never possible to 
  1479. determine ABSOLUTELY the boundary of the Mandelbrot set. All you get is an 
  1480. approximation. Setting maxit higher increases the accuracy of the 
  1481. approximation.) The highest you can set maxit is 1023 because of memory 
  1482. limits.
  1483.  
  1484. PICTURE FILE  This is the disk file that holds a picture created in Threshview 
  1485. mode. Because it holds only the image, and not the full data, it is much 
  1486. smaller than the full data file. A picture file for a full size picture is 
  1487. 43K. (About one-tenth the size of a full data file.) 
  1488.  
  1489. PIXEL  Stands for "picture element" and is one dot on the screen, or on the 
  1490. printed picture. On the HGA there are 250,560 pixels. Emandel only uses 
  1491. 228,480 of those for screen images. But it uses 338,688 pixels for printed 
  1492. pictures.
  1493.  
  1494. SET  A set really just means a bunch of things. The Mandelbrot set is the 
  1495. collection of points on the complex number plane that fit the criterion 
  1496. described elsewhere in this document.
  1497.  
  1498. SIZE  This refers to the fraction of the screen area that will be covered by 
  1499. the frame. The aspect ratio takes precedence and sets an upper limit to SIZE. 
  1500. Setting SIZE smaller allows you to reduce the size of the picture and thereby 
  1501. shorten the calculation time.
  1502.  
  1503. START VALUE  When Auto-draw asks you for a start value, it means the bottom 
  1504. value for the first cluster in the sequence of clusters to be set 
  1505. automatically.
  1506.  
  1507. STEP  In Grid, step mode means that cross-hair movement commands are single-
  1508. step. <Del> toggles step mode to glide mode.
  1509.  
  1510. THRESHVIEW MODE  Threshview mode is the feature of Emandel that allows you to 
  1511. interactively create pictures. You can become a regular Van Gogh. The keyboard 
  1512. is your brush, the screen your canvas, and the raw data is your paint.
  1513.  
  1514. WIDTH  The width in pixels of Emandel's memory array. This can be larger than 
  1515. x-limit because it must end on a byte boundary.
  1516.  
  1517. X-LIMIT  This is the width in pixels of the actual picture frame.
  1518.  
  1519. Y-LIMIT  This is the height in pixels of the Emandel picture as it will appear 
  1520. on the printer. It is 50% greater than the height in pixels of the picture on 
  1521. the screen.
  1522.  
  1523. --------------------------------------------------------------------
  1524.  
  1525. KITTENSOFT ABSOLUTE UNCONDITIONAL NO-BUGS GUARANTEE:
  1526.  
  1527. I give you my absolute unconditional guarantee that I will be surprised if 
  1528. there are no bugs in these programs. I *hope* that I have eliminated *most* of 
  1529. the bugs. 
  1530.  
  1531. I hope you enjoy these programs.
  1532.  
  1533. Dan Schechter
  1534. Route 1 Box 19
  1535. Amenia, North Dakota 58004
  1536. U.S.A.
  1537.